package cc.rengu.igas.route.core.realize.payment.impl.uptk;

import cc.rengu.igas.route.core.realize.payment.CheckVerificaElement;
import cc.rengu.igas.route.facade.bean.PayerInfo;
import cc.rengu.oltp.service.common.enums.AcctTypeEnum;
import cc.rengu.oltp.utility.util.StringUtil;

/**
 * 银联全渠道无跳转作为代收时验证要素是否齐全
 *
 * @author xionglz
 * @version 1.0
 * @date 2020-03-31
 */
public class UptkCheckVerificaElement implements CheckVerificaElement {
    @Override
    public boolean signElementchecked(PayerInfo payerInfo) throws Exception {
        //无跳转智能路由不实现签约，由于签约属于前台交易
        return true;
    }

    @Override
    public boolean paymentDirectElementchecked(PayerInfo payerInfo) throws Exception {
        //无跳转智能路由不实现直接支付，因为直接支付为前台交易
        return true;
    }

    @Override
    public boolean paymentBySignFirstElementchecked(PayerInfo payerInfo) throws Exception {
        //无跳转只实现签约后使用token支付
        //不能检查账户类型，账户类型在只有token时不能确定
        //银联无跳转  银联的规则为一个token智能在一个商户上使用 上送协议号（即token）+平台商户;商户号在智能路由交易接入时已经完成检查
        if (StringUtil.isEmptyOrNull(payerInfo.getSgnNo())) {
            return false;
        }
        return false;
    }
}
